iT邦幫忙

2024 iThome 鐵人賽

DAY 8
0
AI/ ML & Data

從點子構想到部署上線:機器學習專案的一生系列 第 8

[Day 8] Step 5. 監控模型表現(Monitor Impact)

  • 分享至 

  • xImage
  •  

終於走到整個機器學習專案的最後一步啦!我們訓練出一個表現優秀的模型,也成功將模型部署上線,並實際開始運行。不過,這並不代表我們的工作已經結束了,監控模型的表現和影響是機器學習專案中一個十分關鍵、卻經常被忽視的部分。

如同前一天提到的,當模型在真實環境中面臨各種不同的輸入資料時,可能會出現資料漂移(Data Drift)或概念漂移(Concept Drift)。由於隨著時間推移,訓練資料和實際運行資料之間的差異會逐漸擴大,導致預測準確性下降,因此需要定期監控並進行維護。


監控與維護系統

為了確保模型持續有效運行,系統必須設計完善的監控機制,並根據監控指標(Metrics)來檢測資料分佈的變化,從而決定模型是否需要重新訓練。

監控的指標:

伺服器負載(Server Load)
例如 CPU 和 GPU 的使用率、記憶體占用率和網路流量等。伺服器負載過高可能會導致系統延遲,影響模型的預測速度,因此應該將這些指標應納入監控系統。

資料異常檢測
如缺失值的比例、資料分佈的變化(如統計特性變化),或是某些重要指標(如平均值、標準差等)的變化速度,若有異常可能代表資料漂移(data drift)的發生,提醒我們需要更新或調整現有模型。

用戶行為的指標
根據這個模型提供的功能,追蹤用戶的使用方式和次數,可以藉此識別出模型的問題區域。
舉例來說,Netflix 希望可以在首頁陳列用戶最想要觀看的影片,但是如果用戶不斷地切到搜尋系統,自行手動輸入想要觀賞的影片,可能反應出推薦系統模型的預測不準確。

模型老化(Model Staleness)和重新訓練

除了前一天介紹過的資料漂移和概念漂移,模型老化也是一個常見問題。隨著時間推移,模型基於舊資料訓練的邏輯可能會變得不合時宜,模型預測結果的準確性持續下降,但並沒有顯著的資料漂移或概念漂移。

此時,可能就需要考慮重新訓練模型,或是直接使用新模型以取而代之。

模型重新訓練的方式

當我們藉由監控系統發現模型表現下降或出現嚴重偏差時,會依照使用場景的不同,可能需要進行手動重新訓練或自動重新訓練。

手動重新訓練
在一些比較謹慎的應用領域,如金融或醫療,模型更新通常需要經過嚴格的驗證。當發現模型表現不如從前時,可以先分析問題,調整資料特徵,或是模型演算法,進行手動重新訓練。手動重新訓練可以更精確地控制模型更新過程,確保在真實環境中的可靠性。

自動重新訓練
在一些需求變化較快的應用場域中,可以設計自動化的重新訓練流程,當系統檢測到資料漂移或概念漂移超出某個門檻時,自動觸發重新訓練。例如,可以設置一個監控指標(如準確率),當其低於某個預設值時,系統會自動抓取新的資料,並重新訓練模型。這種方式可以節省大量的人力成本,但是需要在設計上進行更多風險管理和評估。

混合策略
以上兩種策略也可以混合使用。例如,可以設置一個自動觸發的重新訓練流程,但是在模型真的更新到 production 環境之前,還是需要經過人為的審核過程,確保更新不會對系統造成負面影響。


我們終於把五個步驟都講完啦 🥳 希望大家多少有更了解在業界做機器學習的產品時,除了模型的性能表現以外,有很多其他需要注意的細節。
明天我們會聊一下 model iteration 和 data iteration 的差別,別忘了明天再回來哦!


謝謝讀到最後的你,如果喜歡這系列,別忘了按下喜歡和訂閱,才不會錯過最新更新。
如果有任何問題想跟我聊聊,或是想看我分享的其他內容,也歡迎到我的 Instagram(@data.scientist.min) 逛逛!
我們明天見!


上一篇
[Day 7] Step 4. 將模型整合到應用程式中(Integrate with Application):Data Drift vs. Concept Drift、常見的部署模式
下一篇
[Day 9] Model-Centric Iteration vs. Data-Centric Iteration
系列文
從點子構想到部署上線:機器學習專案的一生13
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言